//
// Created by bobin on 18-6-7.
//

#ifndef TVL_UA_DETRAC_LOADER_H
#define TVL_UA_DETRAC_LOADER_H

#include <string>
#include <iostream>
#include <fstream>
#include <sstream>
#include "opencv2/core/core.hpp"
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <Eigen/Core>
#include <vector>
#include <set>
#include <iomanip>
#include <map>


struct bbox {
        unsigned int left;
        unsigned int top;
        unsigned int width;
        unsigned int height;

        unsigned int ObjectID;
        unsigned int ImageID;
        std::string ObjectClass;

        Eigen::Vector2i get_left_top();
    };
//    typedef std::vector<std::vector<tvl::bbox>> BOX_SET;
//    typedef std::map<std::string, BOX_SET> BOX_SEQUENCES;

void load_ua_detrac(const std::string path,
                    const std::string train_path,
                    const std::string sequence,
                    std::vector<std::vector<bbox>> &box_set,
                    std::vector<std::string> &image_files);
void load_ua_detrac_seq(const std::string path, std::vector<std::string> &seq_vec);



#endif //TVL_UA_DETRAC_LOADER_H
